package proteus.negocio;

import java.sql.SQLException;
import java.util.Collection;

import proteus.dao.LocalDAO;
import proteus.excepcion.DAOExcepcion;
import proteus.modelo.Dueno;
import proteus.modelo.Local;
import proteus.modelo.Persona;

public class LocalNegocio {
	
	
	
	public Collection<Local> listarLocales() throws DAOExcepcion {
		LocalDAO dao= new LocalDAO();		
		return dao.listarLocales();
	}

	
	
	public void insertarLocal(String _NoLocal,
			String _TxDireccion,
			String _NoDistrito,String _TxDireccionGoogle,String _NuTelefono,int _CoPersona)throws DAOExcepcion{
		
		LocalDAO dao=new LocalDAO();
		
		Local oLocal=new Local();
		
		oLocal.setNoLocal(_NoLocal);
		oLocal.setTxDireccion(_TxDireccion);
		oLocal.setNoDistrito(_NoDistrito);
		oLocal.setTxDireccionGoogle(_TxDireccionGoogle);
		oLocal.setNuTelefono(_NuTelefono);
		
//		Persona oPersona=new Persona();		
//		oPersona.setCoPersona(_CoPersona);
		
		Dueno oDueno=new Dueno();
		oDueno.setCoPersona(_CoPersona);
		
		oLocal.setoDueno(oDueno);
		
		
//		oLocal.SetPersona(oPersona);
		
		
		try
		{
			if(oLocal.getNoLocal().length()==0){
				throw new SQLException("El nombre del local es un campo obligatorio");	
			}
			if(oLocal.getTxDireccion().length()==0){
				throw new SQLException("La direccion del local es un campo obligatorio");	
			}
			if(oLocal.getNoDistrito().length()==0){
				throw new SQLException("El distrito del local es un campo obligatorio");	
			}
			if(oLocal.getNuTelefono().length()==0){
				throw new SQLException("El telefono del local es un campo obligatorio");	
			}
			
			
			//VALIDAR CORREO
			if(dao.validar_nombre_local(_NoLocal,_CoPersona)>0) {
				throw new SQLException("El nombre local " + oLocal.getNoLocal()  + " ya existe");
			}
			
	
			dao.insertar(oLocal);
			
		}
		catch(SQLException e)
		{
			System.err.println(e.getMessage());
			throw new DAOExcepcion(e.getMessage());
		}
		
		
		
		
	}

}